<!DOCTYPE html>
<html lang="en">
<head xmlns:th="http://www.thymeleaf.org">
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="/css/htmlcss/htmlcss.css">
  <link rel="stylesheet" href="/css/bootstrap.min.css">
  <script src="/js/jquery-3.6.1.min.js"></script>
    <link rel="stylesheet" href="/plugins/bootstraptable/bootstrap-table.min.css">

</head>
<body >
<div class="container-fluid">
    <h1>全体学生名单</h1>
    <!-- Button trigger modal -->
    <button  type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal" onclick="preAdd();">
        新增学生
    </button>
    <form class="form-inline">
        <div class="form-group">
            <label for="searchName">请输入学生姓名</label>
            <input type="text" class="form-control" id="searchName" placeholder="请输入学生姓名" name="searchName">

            <label for="searchSex">请输入学生性别</label>
            <input type="text" class="form-control" id="searchSex" placeholder="请输入学生性别" name="searchSex">

        </div>

        <button type="button" class="btn btn-default btn-primary" onclick="search();">查询</button>
    </form>
    <div class="shadow-lg p-3 mb-5 bg-white rounded">
    <table class="table table-dark table-hover table-bordered" id="stuTable">

    </table>
    </div>

</div>
<div class="modal fade" tabindex="-1" role="dialog"  id="myModal">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <h4 class="modal-title">学生信息</h4>
            </div>
            <div class="modal-body">

                <form id="formStudent">
                    <input hidden="hidden" id="id"  name="id"/>
                    <div class="form-group">
                        <label for="name">姓名</label>
                        <input type="text" class="form-control" id="name" name="name" placeholder="姓名">
                    </div>
                    <div class="form-group">
                        <label for="password">密码</label>
                        <input type="password" class="form-control" id="password" name="possword" placeholder="密码">
                    </div>
                    <div class="form-group">
                        <label for="sex">性别</label>
                        <select class="form-control" id="sex" name="sex">
                            <option value="1">男</option>
                            <option value="2">女</option>
                        </select>
                    </div>
                    <div class="form-group">
                        <label for="name">成绩</label>
                        <input type="text" class="form-control" id="score" name="score" placeholder="成绩">
                    </div>
                </form>
<!--                表单结束-->
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-primary" onclick="saveStudent();">保存</button>
            </div>
        </div><!-- /.modal-content -->
    </div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<script src="/js/bootstrap.js"></script>
<script src="/plugins/bootstraptable/bootstrap-table.min.js"></script>
<script src="/plugins/bootstraptable/locale/bootstrap-table-zh-CN.min.js"></script>

<script type="text/javascript">

    function search(){
        $('#stuTable').bootstrapTable("destroy");
        loadTable();
    }


    function preAdd(){
        $("#id").val(0);
    }
    //新增或者更新
    function saveStudent(){
        var data=$("#formStudent").serialize()
        var id=$("#id").val();
        if(id<1){
            //是新增
            $.ajax({
                url:"/webapi/student/insert",
                method:"post",
                data:data
            }).done(function (){
                $('#stuTable').bootstrapTable("destroy");

                loadTable();
                $('#myModal').modal('hide')
            })
        }
        else{
            //是更新
            $.ajax({
                url:"/webapi/student/update",
                method:"put",
                data:data
            }).done(function (){
                $('#stuTable').bootstrapTable("destroy");

                loadTable();
                $('#myModal').modal('hide')
            })
        }


    }

    function editStudent(id){
        $('#myModal').modal('show')

        $.ajax({
            url:'/webapi/student/get/'+id
        }).done(function (rs){
            $("#id").val(rs.id);
            $("#name").val(rs.name);
            $("#password").val("");
            $("#sex").val(rs.sex);
            $("#score").val(rs.score);

        })

    }


    function  deleteStudent(id){
        if(confirm("你是否真的要删除吗？")){
            $.ajax({
                url:"/webapi/student/delete/"+id,
                method:"delete"
            }).done(function (){
                $('#stuTable').bootstrapTable("destroy");

                loadTable();
            })
        }// end if

    }
    function loadTable(){
        $('#stuTable').bootstrapTable({
            url:'/webapi/student/getbypage2',
            striped:true,//设置为true会有隔行效果
            pagination: true,//设置为true会在底部显示分离
            singleSelect: false,//设置为true将禁止多选
            pageSize:3,//如果设置了分页，每页数据条数
            PageNumber:1,//如果设置了分页，首页页码
            sidePagination: "server",//设置了在哪里进行分页，可选值为“client"或者
            queryParams: function (params) {
                var paraObj = {
                    size: params.limit,
                    page: params.offset/params.limit,
                    sort: "id",
                    direct: "desc",
                    name:$("#searchName").val(),
                    sex: $("#searchSex").val(),
                }
                return paraObj;
            },

            columns:[{
                field: 'id',
                title: '序号'
            },{
                field: 'name',
                title: '姓名'
            },{
                field: 'sex',
                title: '性别',
                formatter: function (value,row,index) {
                    if(value==1){
                        return "男";
                    }
                    else if(value==2){
                        return "女";
                    }
                    else{
                        return "未知";
                    }
                }

            },{
                field: 'score',
                title: '成绩'
            },{
                field:'caozuo',
                title:'操作',
                align:'center',
                formatter: function (value,row,index){
                    return '<a href="#" onclick="editStudent(\''+row.id+'\')">编辑<\a>'+'          '+
                        '<a href="#" onclick="deleteStudent(\''+row.id+'\')">删除<\a>';
                }
            }]
        });
    }//end of loadTable()

    $(function () {
        //传递一些参数然后done
        loadTable();


    })
</script>
</script>
</body>
</html>